﻿using UnityEngine;

namespace Nomo.UnityCoreModule
{
    /// <summary>
    /// 提供用于调试的工具方法。
    /// </summary>
    public static class NomoDebug
    {
        /// <summary>
        /// 使用指定的 X 坐标画一条垂直线。
        /// </summary>
        /// <param name="x">X 坐标。</param>
        public static void DrawX(float x)
        {
            DrawX(x, Color.white);
        }

        /// <summary>
        /// 使用指定的 X 坐标、颜色、持续时间画一条垂直线。
        /// </summary>
        /// <param name="x">X 坐标。</param>
        /// <param name="color">颜色。</param>
        /// <param name="duration">持续时间。</param>
        public static void DrawX(float x, Color color, float duration = 0F)
        {
            Debug.DrawLine(new Vector2(x, float.MinValue), new Vector2(x, float.MaxValue), color, duration);
        }

        /// <summary>
        /// 使用指定的 Y 坐标画一条垂直线。
        /// </summary>
        /// <param name="y">Y 坐标。</param>
        public static void DrawY(float y)
        {
            DrawY(y, Color.white);
        }

        /// <summary>
        /// 使用指定的 Y 坐标、颜色、持续时间画一条垂直线。
        /// </summary>
        /// <param name="y">Y 坐标。</param>
        /// <param name="color">颜色。</param>
        /// <param name="duration">持续时间。</param>
        public static void DrawY(float y, Color color, float duration = 0F)
        {
            Debug.DrawLine(new Vector2(float.MinValue, y), new Vector2(float.MaxValue, y), color, duration);
        }
    }
}
